package com.wl.api.dto.business;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.wl.api.dto.base.PaginationConst;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *
 * 
 *
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CustomerOrderDTO extends PaginationConst implements Serializable {

	private static final long serialVersionUID = 1L;

	private Long orderId;

	private String orderNo;

	private String serviceNo;

	private Long channelId;

	private String channelName;

	private Long custId;
	
	private Integer fromId;

	private Integer reachId;

	private BigDecimal packageLength;

	private BigDecimal packageHeigth;

	private BigDecimal packageWidth;

	private BigDecimal weight;

	private Integer state;

	private Integer ispay;

	private Date paytime;

	private BigDecimal amount;

	private BigDecimal lanFee;

	private BigDecimal localShoppingFee;

	private BigDecimal deliveryFee;

	private BigDecimal foreignShoppingFee;

	private BigDecimal localStandSf;

	private BigDecimal foreignStandSf;
	
	private List<CustomerOrderDetailDTO> orderDetials;
	
	private String toName;
	private String fromName;
	
	private Integer updateType; //修改订单类型 1:客户端支付, 2:修改主订单信息
	
	private CustomerAddrFromDTO addrFrom;
	private CustomerAddrReachDTO addrReach;
	private Integer countryId;
	private String feeType;//服务费类型,多个用户, 逗号分隔
	private String remark;
	private BigDecimal payAmt;//确认支付金额
	
	private Integer networkId;//网点服务ID
	private Integer servicePickupId;//取件服务ID
	//private Integer serviceId;
	
	public CustomerOrderDTO buildAddFrom(CustomerAddrFromDTO addrFrom) {
		this.addrFrom = addrFrom;
		return this;
	}
	public CustomerOrderDTO buildAddReach(CustomerAddrReachDTO addrReach) {
		this.addrReach = addrReach;
		return this;
	}
	public CustomerOrderDTO buildOrderDetail(List<CustomerOrderDetailDTO> orderDetail) {
		this.orderDetials = orderDetail;
		return this;
	}
	
	public CustomerOrderDTO buildOrderNo(String orderNo) {
		this.orderNo = orderNo;
		return this;
	}
	

}
